package com.ruoyi.produce.base.mrp.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.psi.base.product.domain.ProductDto;

/**
 *
 * @author Drj 2021/6/28
 */
public class MRP extends BaseEntity {
    /**
     * 生产计划编号/销售计划编号
     */
    private String id;
    /**
     * 判断是销售驱动还是生产驱动
     * 1：销售驱动 0：生产驱动
     */
    private boolean type;
    /**
     * 产品编号
     */
    @Excel(name = "产品编号")
    private String produceId;
    /**
     * 类别编号
     */
    @Excel(name = "类别编号")
    private String baseCategoryId;
    /**
     * 类别名称
     */
    @Excel(name = "类别名称")
    private String baseCategoryName;
    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String produceName;
    /**
     * 计量单位编号
     */
    @Excel(name = "计量单位编号")
    private String baseUnitId;
    /**
     * 计量单位名称
     */
    @Excel(name = "计量单位名称")
    private String baseUnit;
    /**
     * 产品规格
     */
    @Excel(name = "产品规格")
    private String produceSpecs;
    /**
     * 采购单价
     */
    @Excel(name = "采购单价")
    private Double producePurchasePrice;
    /**
     * 销售单价
     */
    @Excel(name = "销售单价")
    private Double produceSalePrice;
    /**
     * 需求数量
     */
    private Double demandNum;
    /**
     * 建议类型
     * 采购：1，生产：2
     */
    private String adviseType;
    /**
     * 备注
     */
    private String remark;

    public MRP() {}

    public MRP(ProductDto productDto) {
        this.produceId = productDto.getProduceId();
        this.baseCategoryId = productDto.getBaseCategoryId();
        this.producePurchasePrice = productDto.getProducePurchasePrice();
        this.produceSalePrice = productDto.getProduceSalePrice();
        this.baseCategoryName = productDto.getBaseCategoryName();
        this.produceName = productDto.getProduceName();
        this.baseUnitId = productDto.getBaseUnitId();
        this.baseUnit = productDto.getBaseUnit();
        this.produceSpecs = productDto.getProduceSpecs();
    }

    public boolean isType() {
        return type;
    }

    public void setType(boolean type) {
        this.type = type;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getAdviseType() {
        return adviseType;
    }

    public void setAdviseType(String adviseType) {
        this.adviseType = adviseType;
    }

    public String getProduceId() {
        return produceId;
    }

    public void setProduceId(String produceId) {
        this.produceId = produceId;
    }

    public String getBaseCategoryId() {
        return baseCategoryId;
    }

    public void setBaseCategoryId(String baseCategoryId) {
        this.baseCategoryId = baseCategoryId;
    }

    public String getBaseCategoryName() {
        return baseCategoryName;
    }

    public void setBaseCategoryName(String baseCategoryName) {
        this.baseCategoryName = baseCategoryName;
    }

    public String getProduceName() {
        return produceName;
    }

    public void setProduceName(String produceName) {
        this.produceName = produceName;
    }

    public String getBaseUnitId() {
        return baseUnitId;
    }

    public void setBaseUnitId(String baseUnitId) {
        this.baseUnitId = baseUnitId;
    }

    public String getBaseUnit() {
        return baseUnit;
    }

    public void setBaseUnit(String baseUnit) {
        this.baseUnit = baseUnit;
    }

    public String getProduceSpecs() {
        return produceSpecs;
    }

    public void setProduceSpecs(String produceSpecs) {
        this.produceSpecs = produceSpecs;
    }

    public Double getDemandNum() {
        return demandNum;
    }

    public void setDemandNum(Double demandNum) {
        this.demandNum = demandNum;
    }

    public Double getProduceSalePrice() {
        return produceSalePrice;
    }

    public void setProduceSalePrice(Double produceSalePrice) {
        this.produceSalePrice = produceSalePrice;
    }

    public Double getProducePurchasePrice() {
        return producePurchasePrice;
    }

    public void setProducePurchasePrice(Double producePurchasePrice) {
        this.producePurchasePrice = producePurchasePrice;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "MRP{" +
                "id='" + id + '\'' +
                ", type=" + type +
                ", produceId='" + produceId + '\'' +
                ", baseCategoryId='" + baseCategoryId + '\'' +
                ", baseCategoryName='" + baseCategoryName + '\'' +
                ", produceName='" + produceName + '\'' +
                ", baseUnitId='" + baseUnitId + '\'' +
                ", baseUnit='" + baseUnit + '\'' +
                ", produceSpecs='" + produceSpecs + '\'' +
                ", producePurchasePrice=" + producePurchasePrice +
                ", produceSalePrice=" + produceSalePrice +
                ", demandNum=" + demandNum +
                ", adviseType='" + adviseType + '\'' +
                ", remark='" + remark + '\'' +
                '}';
    }
}
